/**
 * 根据节气和对应的天数获取局数字
 */
//二十四节气定局数以及阴阳遁
//二十四节气按  阴阳遁来分
// const innings = [
// 	['阳遁','冬至','小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种'],
// 	['阴遁','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪']
// ]
const innings = [
	//阳遁
	['冬至', '阳遁', 1, 7, 4],
	['小寒', '阳遁', 2, 8, 5],
	['大寒', '阳遁', 3, 9, 6],
	['立春', '阳遁', 8, 5, 2],
	['雨水', '阳遁', 9, 6, 3],
	['惊蛰', '阳遁', 1, 7, 4],
	['春分', '阳遁', 3, 9, 6],
	['清明', '阳遁', 4, 1, 7],
	['谷雨', '阳遁', 5, 2, 8],
	['立夏', '阳遁', 4, 1, 7],
	['小满', '阳遁', 5, 2, 8],
	['芒种', '阳遁', 6, 3, 9],
	//阴遁
	['夏至', '阴遁', 9, 3, 6],
	['小暑', '阴遁', 8, 2, 5],
	['大暑', '阴遁', 7, 1, 4],
	['立秋', '阴遁', 2, 5, 8],
	['处暑', '阴遁', 1, 4, 7],
	['白露', '阴遁', 9, 3, 6],
	['秋分', '阴遁', 7, 1, 4],
	['寒露', '阴遁', 6, 9, 3],
	['霜降', '阴遁', 5, 8, 2],
	['立冬', '阴遁', 6, 9, 3],
	['小雪', '阴遁', 5, 8, 2],
	['大雪', '阴遁', 4, 7, 1]
]

//六仪三奇（固定)
const yiqi = ['戊', '己', '庚', '辛', '壬', '癸', '丁', '丙', '乙']

//八门（九门)
const gates = ['休门', '死门', '伤门', '杜门', '黄门', '开门', '惊门', '生门', '景门']

//九星
const star = ['天蓬', '天芮', '天冲', '天辅', '天禽', '天心', '天柱', '天任', '天英']

//九神（阳)
const Yanggod = ['值符', '螣蛇', '太阴', '六合', '勾陈', '太常', '朱雀', '九地', '九天']
//九神（阴)
const Yingod = ['值符', '螣蛇', '太阴', '六合', '白虎', '太常', '玄武', '九地', '九天']

/** 元旦盘
 *  【辅 4 杜】   【英 9 景】  【芮 2 死】
 * 
 * 
 * 
 * 
 *  【冲 3 震】   【禽 5 黄】  【柱 7 惊】
 * 
 * 
 * 
 *  【任 8 生】   【蓬 1 休】  【心 6 开】
 */

const initP = [
	['天蓬', '休门'],//1
	['天芮', '死门'],//2
	['天冲', '震门'],//3
	['天辅', '杜门'],//4
	['天禽', '黄门'],//5
	['天心', '开门'],//6
	['天柱', '惊门'],//7
	['天任', '生门'],//8
	['天英', '景门']//9
]

//六甲，后两位分别是 空亡  、 旬首
const sexagenary = [
	['甲子', '乙丑', '丙寅', '丁卯', '戊辰', '己巳', '庚午', '辛未', '壬申', '癸酉', '戌亥', '戊'],
	['甲戌', '乙亥', '丙子', '丁丑', '戊寅', '己卯', '庚辰', '辛巳', '壬午', '癸未', '申酉', '己'],
	['甲申', '乙酉', '丙戌', '丁亥', '戊子', '己丑', '庚寅', '辛卯', '壬辰', '癸巳', '午未', '庚'],
	['甲午', '乙未', '丙申', '丁酉', '戊戌', '己亥', '庚子', '辛丑', '壬寅', '癸卯', '辰巳', '辛'],
	['甲辰', '乙巳', '丙午', '丁未', '戊申', '己酉', '庚戌', '辛亥', '壬子', '癸丑', '寅卯', '壬'],
	['甲寅', '乙卯', '丙辰', '丁巳', '戊午', '己未', '庚申', '辛酉', '壬戌', '癸亥', '子丑', '癸']

];

//二十四节气按照立春开始排
const Yinnings = ['立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪','冬至','小寒','大寒']
const throttle = {
	/**
	 * 根据传参获取阴阳遁
	 * @param {string} searchWord 
	 * @returns number -1时表示未找到，其他值表示对应数组的下标
	 */
	getYinyang: function getYinyang(searchWord, num) {
		const row = innings.find(i => i.some(j => j === searchWord));
		return row && row[1]
		// return sexagenary.findIndex(i=> i.some(j=> j===searchWord));
		// if (num < 5) {
		// 	return [row[1] + row[2]]
		// } else if (4 < num < 10) {
		// 	return row[1] + row[3]
		// } else {
		// 	return row[1] + row[4]
		// }
	},

	/**
	 * 根据传参获取局数
	 * @param {string} jq  节气
	 * @param {string} num  第几天
	 * @returns number -1时表示未找到，其他值表示对应数组的下标
	 */
	getinnings: function getinnings(jq, num) {
		const row = innings.find(i => i.some(j => j === jq));
		// return num
		if (num < 5) {
			return row[2]
		} else if (4 < num < 10) {
			return row[3]
		} else {
			return row[4]
		}
	},

	/**
	 *   根据节气及相差天数获取  下一个节日及其时间
	 *   @para {string} jq 节气
	 *   @return {string} 返回对应的节气
	 */
	getlastinnings:function getlastinnings(jq){
		let row = Yinnings.findIndex((value) => value === jq);
		return Yinnings[row+1];
	},
	 
	 /**  空亡
	  * 
	  * @param {string} searchWord 
	  * @returns 返回所需要的值
	  */
	 getEmpdeath: function getEmpdeath(searchWord) {
	 	const row = sexagenary.find(i => i.some(j => j === searchWord));
	 	return row && row[row.length - 2]
	 }
   
   
	
}
export default throttle;